import Api from "../../utils/api"
import Config from "../../utils/Config"
const _ = Api.db.command
Page({

  /**
   * 页面的初始数据
   */
  data: {
    details:{},//详情
    isFollows:false
  },
  onLoad: function (options) {
    let {id,recipesname} = options;
    this.data.id = id
    wx.setNavigationBarTitle({
      title: recipesname,
    })
    this._getRecipeDate()
  },
  // 查询详情页面
  async _getRecipeDate(){
    let _id = this.data.id
    let res = await Api.findById(Config.tables.recipesTable,_id)
    // 通过openid 获取用户信息
    let user = await Api.findAll(Config.tables.userTable,{_openid:res.data._openid})
    // 将获取到的userinfo 添加到res.data里面
    res.data.userinfo = user.data[0].userinfo
    // 使浏览量点击自增 views增加
    let  updaViews = await Api.updaById(Config.tables.recipesTable,_id,{views:_.inc(1)})

    // 通过openid判断是否已经关注
    let where = {
      _openid:wx.getStorageSync('openid'),
      recipeID:_id
    }
    let follows = await Api.findAll(Config.tables.followsTable,where)
    console.log(follows);
    if(follows.data.length<=0){
      this.setData({
        isFollows:false
      })
    }else{
      this.setData({
        isFollows:true
      })
    }
    res.data.views++
    this.setData({
      details:res.data
    })
  },
  // 关注未关注事件
  async _doFollows(){
    let isLogin = wx.getStorageSync('openid') || null;
    // 判断是否登录
    if(isLogin==null){
      wx.showToast({
        title: '请登录',
        icon:"none"
      })
      setTimeout(()=>{
        wx.switchTab({
          url: '../personal/personal',
        })
      },2000)
    }
    // 判断是否已经关注
    if(!this.data.isFollows){
      // 执行关注，往数据表里添加数据 把follows加加
      let data = {
        recipeID : this.data.id
      }
      let res = await Api.add(Config.tables.followsTable,data)
      if(res._id){
        wx.showToast({
          title: '关注成功',
        })
        this.setData({
          isFollows:true
        })
        let  updaViews = await Api.updaById(Config.tables.recipesTable,this.data.id,{follows:_.inc(1)})
      }
      
    }else{
      // 删除数据库里的数据 follows减一
      let where = {
        // 获取存储起来的openid 判断条件 通过openid和_id来删除
        _openid : wx.getStorageSync('openid'),
        recipeID : this.data.id
      }
      let res = await Api.removeByWhere(Config.tables.followsTable,where)
      if(res.stats.removed==1){
        wx.showToast({
          title: '取消关注成功',
          icon:'none'
        })
      }      
      this.setData({
        isFollows:false
      })
      // 数据库foloows减一
      let  updaViews = await Api.updaById(Config.tables.recipesTable,this.data.id,{follows:_.inc(-1)})
      
    }
  },
  // 分享给朋友
  onShareAppMessage(){

  },
  // 分享到朋友圈
  onShareTimeline(){
  },
    go(){
      console.log(11);
      
    }
})